iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 16
0
自我挑戰組

溫故知新 JavaScript系列 第 16

Day16- 控制判斷- 邏輯運算子

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20200929/20129439CvzyR98dGu.jpg
在邏輯運算子有三個判斷符號分別是:

&& And  全部都要符合
|| OR   其中一個符合
!  NOT  轉型

邏輯運算我們可以想像一個生活情境今天要去銀行開戶,開戶的條件是準備1000元還有帶身分證,兩個都要符合才能開戶這個過程我們要怎麼判斷是否符合呢?直接來看程式碼:

&& 所有條件都要符合

//變數是我有帶1000但沒有帶身份證
var money = 1000;
var id  = false;
console.log(money==1000 && id==true)

&&程式範例

上面可以看到結果會是 false 因為條件是錢要帶、身份證也需要,但我沒帶身份證所以就不能開戶,大家可以自行試著把條件更改一下看看結果會是如何喔!

|| 其中一個條件符合

如果今天變成是說要開戶需要準備1000元還有身分證,但是其中一個有準備就能開戶呢,這時候就用 || 代表只要符合其中一個條件就OK,請看下面的程式碼我雖然沒有帶身份證但是有1000元所以就變成可以開戶囉!

var money = 1000;
var id  = false;
console.log(money==1000 || id==true)

是不是很簡單呢,再來考考各位如果是以下情境,延續上一個開戶的例子,如果變成開戶要準備 1000元,證件變成帶身份證或健保卡都可以,那又該怎麼寫呢?

我們可以用括號像是這樣!

var money = 1000 ;
var id  = false ;
var health_id = true;
console.log(money == 1000 && (id==true || health_id==true))
//把後面只要符合其中一項的資料括號起來

把後面只要符合其中一項的資料括號起來,這樣只要裡面有條件成立再跟外面的 money 去比對看是不是條件都符合,以這範例是符合的結果就是 true 也能開戶了!

! 結果轉型

剛剛前面提到的例子結果如果是 true 但我們希望它變成 false 呢,就是將後面的結果用!()包起來,以最一開始的例子來說,原本應該是 true 用!()輸出就變成 false 囉!

var money = 1000;
var id  = false;
console.log(!(money==1000 || id==true));

其實!轉型的實際運用時機我也還不是很了解這邊就只能簡單介紹,如果有前輩可以分享實際情境歡迎留言告訴我,謝謝。

OK,今天的邏輯運算子就介紹到這邊,我們明天見!


上一篇
Day15- 控制判斷-比較運算子
下一篇
Day17- 控制判斷 if、else if、switch
系列文
溫故知新 JavaScript30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言